import request from '@/utils/request'
import type { TradeMarkResponseData, TradeMark } from './type'

enum TradeMark_API_URL {
  /**
   * 获取后端已有品牌的数据
   */
  GET_TRADEMARK_URL = '/admin/product/baseTrademark',

  /**
   * 添加品牌
   */
  ADD_TRADEMARK_URL = '/admin/product/baseTrademark/save',

  /**
   * 修改品牌数据
   */
  UPDATE_TAREDEMARK_URL = '/admin/product/baseTrademark/update',

  /**
   * 删除品牌数据
   */
  DELETE_TAREDEMARK_URL = '/admin/product/baseTrademark/remove',
}

/**
 * 获取后端已有品牌数据的方法
 * @param page 当前页数
 * @param limit 一页展示几个返回数据类型
 * @returns Promise<TradeMarkResponseData>
 */
export const reqHasTrademark = (page: number, limit: number): Promise<TradeMarkResponseData> =>
  request.get<any, TradeMarkResponseData>(TradeMark_API_URL.GET_TRADEMARK_URL + `/${page}/${limit}`)

/**
 * 添加与修改已有品牌接口的方法
 * @param data
 * @returns Promise<any>
 */
export const reqAddOrUpdateTrademark = (data: TradeMark): Promise<any> => {
  //有id就是修改品牌数据，没有就是新增品牌
  if (data.id) {
    //没有返回数据，所以定义为any就好
    return request.put<any, any>(TradeMark_API_URL.UPDATE_TAREDEMARK_URL, data)
  } else {
    //也没有返回数据，所以定义为any
    return request.post<any, any>(TradeMark_API_URL.ADD_TRADEMARK_URL, data)
  }
}

/**
 * 删除已有品牌的数据的接口
 * @param id
 * @returns Promise<any>
 */
export const reqDeleteTrademark = (id: number): Promise<any> =>
  request.delete<any, any>(TradeMark_API_URL.DELETE_TAREDEMARK_URL + `/${id}`)
